  // pages/order/order.js

  const camp = require("../../api/camp");
  const goods = require("../../api/goods");
  const {
    baseURL
  } = require("../../utils/request");
  Page({

    /**
     * 页面的初始数据
     */
    data: {
      baseURL: '', // 假设这是图片的基础URL
      qrCodeUrl: '', // 用于存储二维码图片的URL
      orderList:[],
      orderId: '', // 用于存储接收到的订单ID
      orderDetails: [], // 用于存储订单详情
      qrCode: '', // 用于存储二维码图片
      verifiedOrderId: null, // 用于存储已核销的订单ID
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
      // 扫码获取id
      console.log("扫码获取orderId", options);
      // 尝试从本地存储中恢复已核销的订单ID
      let verifiedOrderIds = wx.getStorageSync('verifiedOrderIds') || [];
      if (options.orderId) {
        const orderId = decodeURIComponent(options.orderId);
        // 添加新核销的订单ID到本地存储
        verifiedOrderIds.push(orderId);
        wx.setStorageSync('verifiedOrderIds', [...new Set(verifiedOrderIds)]); // 去重
        // 更新页面数据
        this.setData({
          verifiedOrderId: orderId,
        });
        // 获取订单信息并尝试更新状态
        this.getorder().then(() => {
          this.upqrcode(orderId);
        });
      } else {
        // 没有传入 orderId，直接获取订单信息
        this.getorder();
      }
    },
  // 获取订单
  getorder() {
    return new Promise((resolve, reject) => {
      goods.orderList().then(res => {
        console.log('Order list response:', res); // 打印整个响应对象
        console.log('Order list data:', res.data);

        // 更新订单列表数据
        this.setData({
          orderList: res.data || [] // 确保即使没有数据也能避免报错
        }, () => {
          // 在获取订单列表后检查本地存储中的核销状态
          this.checkVerifiedOrders();
          resolve(); // 确保在setData完成后resolve
        });
      }).catch(error => {
        console.error('Error fetching order list:', error);
        reject(error);
      });
    });
  },
     // 改变状态的方法
  upqrcode(orderId) {
    let updatedOrderList = this.data.orderList.map(item => {
      if (item.orderid === orderId) {
        // 创建一个新的对象以避免直接修改原始数据
        return { ...item, tag: '已核销' };
      }
      return item;
    });

    this.setData({
      orderList: updatedOrderList
    });
  },
   // 检查并应用已核销的订单状态
   checkVerifiedOrders() {
    let verifiedOrderIds = wx.getStorageSync('verifiedOrderIds') || [];
    let updatedOrderList = this.data.orderList.map(item => {
      if (verifiedOrderIds.includes(item.orderid)) {
        // 创建一个新的对象以避免直接修改原始数据
        return { ...item, tag: '已核销' };
      }
      return item;
    });

    this.setData({
      orderList: updatedOrderList
    });
  },
    onorderDetail(e) {
    // 使用 e.currentTarget.dataset 来获取 orderid
    const { orderid } = e.currentTarget.dataset;
    
    // 调试输出，确认 orderid 是否正确传递
    console.log('Order ID:', orderid);
    // 进行页面跳转并传递 orderid 参数
    wx.navigateTo({
      url: `/pages/orderdetail/orderdetail?orderid=${orderid}`,
    });
  },


    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
  })